package com.tlgen.orm.param;

import lombok.Data;

/**
 * 属性字段、属性字段上的模型关联注解(Association、Collection)类型、注解中属性值
 */
@Data
public class RelationParams {

    /**
     * 主表实体类类型
     */
    private Class<?> masterClass;

    /**
     * 字段属性名
     */
    private String columnName;

    /**
     * 属性的类型
     */
    private String columnType;

    /**
     * 字段属性值
     */
    private String columnValue;

    /**
     * 注解类型
     */
    private String relationType;

    /**
     * 注解中核心参数值
     */
    private String relationName;

    /**
     * 如果是一对多, 保存中间表类型
     */
    private Class<?> relationClass;

    /**
     * 如果是一对多, 是否有中间表
     */
    private Boolean hasMiddleClass = false;

    @Override
    public String toString() {
        return "RelationParams{" +
                "masterClass='" + masterClass + '\'' +
                ", columnName='" + columnName + '\'' +
                ", columnType='" + columnType + '\'' +
                ", columnValue='" + columnValue + '\'' +
                ", relationType='" + relationType + '\'' +
                ", relationName='" + relationName + '\'' +
                ", relationClass=" + relationClass +
                '}';
    }
}
